#ifndef ECU_CRC_H_
#define ECU_CRC_H_

/*******************************************************************************
Function Name:		MC33771_CRC8
Parameter[in]:		u8 *Datas,u8 Data_Len
Return Value:		u8 CRC_Value  CRC初值 校验值CRC_Check_Value
Description:	    MC33771使用的CRC8校验函数
*******************************************************************************/
u8 MC33771_CRC8(u8 *data, u16 data_len);

/*******************************************************************************
Function Name:		CRC_8_MSB
Parameter[in]:		u8 *Datas,u8 Data_Len
Return Value:		u8 CRC_Value  CRC初值 校验值CRC_Check_Value
Description:	    CRC-8 计算 帧数据从前向后  正向输入
                    MSB方式校验 检验值为多项式0x31                
*******************************************************************************/
u8 CRC_8_MSB(u8 *Datas,u8 Data_Len,u8 CRC_Value,u8 CRC_Check_Value);


/*******************************************************************************
Function Name:		ECU_CRC16
Parameter[in]:		ubyte *Datas,ubyte Data_Len
Return Value:		ubyte CRC_Value  CRC初值 校验值CRC_Check_Value
Description:	    CRC-16 计算 帧数据从后向前  反向输入
                    MSB方式校验 检验值为多项式0xA001 输入多项式为0x8005
*******************************************************************************/
u16 ECU_CRC_EEPROM(u16 *pData, u8 nLength);
#endif
